//
//  ZZACMacros.h
//


#ifndef ZZACMacros_h
#define ZZACMacros_h
#import <SVProgressHUD/SVProgressHUD.h>


//=======================================================

// 保存上个版本的版本号的key
#define QNCXCFBundleVersionKey    @"QNCXCFBundleVersionKey"
//司乘双选新手引导保存的版本号的key
#define DPDCCFBundleVersionKey    @"DPDCCFBundleVersionKey"
// 当前版本号
#define CurrentBundleVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleVersionKey]
//获取当前App版本号
#define AppVersion  [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]
//手机系统版本
#define PhoneVersion [[UIDevice currentDevice] systemVersion]
//App名称
#define App_Name  [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"]
//App build版本
#define App_build  [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]
//获取设备号
#define QN_DEVICE_UUID    [ZZCXUUIDTool getPhoneIdentifier]


// GCD操作相关
#define QN_GLOBAL_QUEUE     dispatch_get_global_queue(2, 0)
#define QN_MAIN_QUEUE       dispatch_get_main_queue()


// 图片加载
#define QNImage(name)         [UIImage imageNamed:name]
#define QNPlaceholderIcon     QNImage(@"占位图")

#define MyDefaults            [NSUserDefaults standardUserDefaults]
#define MyFileManager         [NSFileManager defaultManager]
#define QN_WINDOW             [UIApplication sharedApplication].delegate.window
// 应用程序总代理
#define QNAppDelegateInstance ((AppDelegate*)([UIApplication sharedApplication].delegate))


// Block
#define WS(weakSelf)   __weak typeof(self)weakSelf = self;
/** 避免self的提前释放 */
#define STRONGSELF     __weak typeof(weakSelf) strongSelf = weakSelf


//检测到导航栏下降20pix后
#define StatusBarHeight (([[UIApplication sharedApplication] statusBarFrame].size.height == 40) ? YES : NO)
//导航栏高度
#define kNavHeight (iPhoneX ? 88 : 64)
//底部宏
#define SafeAreaBottomHeight (iPhoneX ? 34 : 0)
//适配iphone x 减去底部10pt
#define SafeAreaHeight (StatusBarHeight ? (iPhoneX ? 34 - 10*SCALE_HEIGHT : 0) + 20 : (iPhoneX ? 34 - 10*SCALE_HEIGHT : 0))

#define SCREEN_WIDTH       ([UIScreen mainScreen].bounds.size.width)//屏幕宽度
#define SCREEN_HEIGHT      ([UIScreen mainScreen].bounds.size.height)//屏幕高度
#define MainScreen         [[UIScreen mainScreen] bounds]
#define SCALE_WIDTH        [[UIScreen mainScreen] bounds].size.width / 375.0
#define SCALE_HEIGHT       [[UIScreen mainScreen] bounds].size.width / 375.0

#define SUPER_WIDTH        (self.frame.size.width)
#define SUPER_HEIGHT       (self.frame.size.height)


#pragma mark =======******************qnc相关***********************===========

#define SHOW_LOADING_ON_VIEW(VIEW,TEXT)   [QNCommonTool loadingWithText:TEXT andInView:VIEW];
#define HIDE_LOADING_ON_VIEW(VIEW) [QNCommonTool hideLoadingView:VIEW];

#define SCREENWIDTH [[UIScreen mainScreen] bounds].size.width
#define SCREENHEIGHT [UIScreen mainScreen].bounds.size.height
#define kScreenWidthRatio  (SCREEN_WIDTH / 375.0)
#define kScreenHeightRatio (SCREEN_HEIGHT / 667.0)

//间距
#define AdaptedValue(x)  (ceilf((x) * SCALE_WIDTH))
//字体调整 适配小屏手机 以6位基准 6 及以上采用 6 相同字体大小  6以下字体根据屏幕宽度适配字体
#define AdaptedFontValue(x) MIN(x,AdaptedValue(x))

#define AdaptedWidthValue(x)  (ceilf((x) * SCALE_WIDTH))
#define AdaptedHeightValue(x) (ceilf((x) * SCALE_HEIGHT))

#define AdaptedMINWidthValue(x)  (MIN(ceilf((x) * SCALE_WIDTH),x))
#define AdaptedMINHeightValue(x) (MIN(ceilf((x) * SCALE_HEIGHT),x))

#define AdaptedMAXWidthValue(x)  (MAX(ceilf((x) * SCALE_WIDTH),x))
#define AdaptedMAXHeightValue(x) (MAX(ceilf((x) * SCALE_HEIGHT),x))

#define kSystemFontWithSize(R)     [UIFont systemFontOfSize: (AdaptedWidthValue(R))]
#define kSystemMINFontWithSize(R)     [UIFont systemFontOfSize: AdaptedMINWidthValue(R)]
#define kSystemMAXFontWithSize(R)     [UIFont systemFontOfSize: (MAX(AdaptedWidthValue(R),R))]

//字体简写
#define XQ_FONT(x)         [UIFont systemFontOfSize:x]
#define XQ_FONT_BOLD(x)    [UIFont boldSystemFontOfSize:x]
#define XQ_FONT_MEDIUM(x)   [UIFont systemFontOfSize:x weight:UIFontWeightMedium]
#define WW [UIScreen mainScreen].bounds.size.width
#define HH [UIScreen mainScreen].bounds.size.height

#define KKWindow  [UIApplication sharedApplication].keyWindow

#pragma mark =======******************qnc相关***********************===========


// 颜色(RGB)
#define RGBCOLOR(r, g, b)           [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:1]
#define RGBACOLOR(r, g, b, a)       [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:(a)]


// 字体大小(常规/粗体)
#define setBoldSystem(font)         [UIFont boldSystemFontOfSize:font]
#define setFontName(name, font)     [UIFont fontWithName:(name) size:(font)]
#define setFont(font)               [UIFont systemFontOfSize:font]    //设置字体大小
#define setFontUltraLight(font)     [UIFont systemFontOfSize:font weight:UIFontWeightUltraLight]
#define setFontThin(font)           [UIFont systemFontOfSize:font weight:UIFontWeightThin]
#define setFontLight(font)          [UIFont systemFontOfSize:font weight:UIFontWeightLight]
#define setFontRegular(font)        [UIFont systemFontOfSize:font weight:UIFontWeightRegular]
#define setFontMedium(font)         [UIFont systemFontOfSize:font weight:UIFontWeightMedium]
#define setFontSbold(font)          [UIFont systemFontOfSize:font weight:UIFontWeightSemibold]
#define setFontBold(font)           [UIFont systemFontOfSize:font weight:UIFontWeightBold]
#define setFontHeavy(font)          [UIFont systemFontOfSize:font weight:UIFontWeightHeavy]
#define setFontBlack(font)          [UIFont systemFontOfSize:font weight:UIFontWeightBlack]



#define iPhoneX ({\
int tmp = 0;\
if (@available(iOS 11.0, *)) {\
if ([UIApplication sharedApplication].delegate.window.safeAreaInsets.bottom>20.0f) {\
tmp = 1;\
}else{\
tmp = 0;\
}\
}else{\
tmp = 0;\
}\
tmp;\
})

//判断iPHoneXr
#define kDevice_Xr ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(828, 1792), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)
//判断iPhoneXs
#define kDevice_Xs ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)
//判断iPhoneXs Max
#define kDevice_Xs_Max ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2688), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)

#define kDevice_xSeriers (kDevice_Xr || kDevice_Xs || kDevice_Xs_Max || iPhoneX) ? YES : NO

// Status bar & navigation bar height.
#define  KStatusBarAndNavigationBarHeight  (iPhoneX ? 88.f : 64.f)

// Tabbar safe bottom margin.
#define  KTabbarSafeBottomMargin         (iPhoneX ? 34.f : 0.f)

// Status bar height.
#define KStatusheight (iPhoneX ? 44.f : 20.f)

// Navigation bar height.
#define  KNavigationBarHeight  44.f

// Tabbar height.
#define  KTabbarHeight         (iPhoneX ? (49.f+34.f) : 49.f)


#define iPhone6 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(750, 1334), [[UIScreen mainScreen] currentMode].size) : NO)
#define iPhone6plus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? (CGSizeEqualToSize(CGSizeMake(1125, 2001), [[UIScreen mainScreen] currentMode].size) || CGSizeEqualToSize(CGSizeMake(1242, 2208), [[UIScreen mainScreen] currentMode].size)) : NO)
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
#define iPhone5c ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
#define iPhone5s ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
#define iPhone4 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)
#define iPhone4s ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)



//字符串是否为空
#define kStringIsEmpty(string) ([string isKindOfClass:[NSNull class]] || ([string isEqualToString:@"(null)"]) || [string isEqual:[NSNull null]] || ([string isEqualToString:@"<null>"]) ||string == nil || [string length] < 1 ? YES : NO )
//数组是否为空
#define kArrayIsEmpty(array) (array == nil || [array isKindOfClass:[NSNull class]] || array.count == 0)
//字典是否为空
#define kDictIsEmpty(dic) (dic == nil || [dic isKindOfClass:[NSNull class]] || dic.allKeys == 0)
//是否是空对象
#define kObjectIsEmpty(_object) (_object == nil \
|| [_object isKindOfClass:[NSNull class]] \
|| ([_object respondsToSelector:@selector(length)] && [(NSData *)_object length] == 0) \
|| ([_object respondsToSelector:@selector(count)] && [(NSArray *)_object count] == 0))




//判断系统版本号
#define IOS102_OR_LATER ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.2)
#define IOS10_OR_LATER ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0)
#define IOS9_OR_LATER ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0)
#define IOS8_OR_LATER ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
#define IOS7_OR_LATER ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)



//获取当前语言
#define kCurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])
//判断是否为iPhone
#define kISiPhone (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
//判断是否为iPad
#define kISiPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

//获取沙盒Document路径
#define kDocumentPath [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]
//获取沙盒temp路径
#define kTempPath NSTemporaryDirectory()
//获取沙盒Cache路径
#define kCachePath [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]

//判断是真机还是模拟器
#if TARGET_OS_IPHONE
//真机
#endif

#if TARGET_IPHONE_SIMULATOR
//模拟器
#endif


#pragma mark *********************自定义打印输出*************************

#ifdef DEBUG
#define GCLog(fmt, ...) fprintf(stderr, "\n ===打印输出:[文件名:%s]\n [函数名:%s]\n [行号:%d]\n ===结果为:%s\n", [[NSString stringWithUTF8String: __FILE__] UTF8String], __FUNCTION__,__LINE__, [[NSString stringWithFormat: fmt, ## __VA_ARGS__] UTF8String]);
#else
#define GCLog(fmt, ...) nil
#endif


//* --------------------------------------------------------------------------//
//SVProgressHUD网络加载便捷方法

CG_INLINE void SVProgressHUD_show()
{
    //背景style
    [SVProgressHUD setDefaultStyle:SVProgressHUDStyleLight];
    //MaskType
    [SVProgressHUD setDefaultMaskType:SVProgressHUDMaskTypeBlack];
    //显示网络加载指示
    [SVProgressHUD showWithStatus:@"加载中..."];
    
}

CG_INLINE void SVProgressHUD_dimiss()
{
    [SVProgressHUD dismiss];
}


//========================================================


//** 沙盒路径 ***********************************************************************************
#define PATH_OF_APP_HOME    NSHomeDirectory()
#define PATH_OF_TEMP        NSTemporaryDirectory()
#define PATH_OF_DOCUMENT    [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]


/* ****************************************************************************************************************** */



/** DEBUG RELEASE **/
#if DEBUG

#define MCRelease(x)            [x release]

#else

#define MCRelease(x)            [x release], x = nil

#endif


/** NIL RELEASE **/
#define NILRelease(x)           [x release], x = nil


/* ****************************************************************************************************************** */
#pragma mark - Frame (宏 x, y, width, height)

// App Frame
#define Application_Frame       [[UIScreen mainScreen] applicationFrame]

// App Frame Height&Width
#define App_Frame_Height        [[UIScreen mainScreen] applicationFrame].size.height
#define App_Frame_Width         [[UIScreen mainScreen] applicationFrame].size.width

// MainScreen Height&Width
#define Main_Screen_Height      [[UIScreen mainScreen] bounds].size.height
#define Main_Screen_Width       [[UIScreen mainScreen] bounds].size.width

// View 坐标(x,y)和宽高(width,height)
#define X(v)                    (v).frame.origin.x
#define Y(v)                    (v).frame.origin.y
#define WIDTH(v)                (v).frame.size.width
#define HEIGHT(v)               (v).frame.size.height

#define MinX(v)                 CGRectGetMinX((v).frame)
#define MinY(v)                 CGRectGetMinY((v).frame)

#define MidX(v)                 CGRectGetMidX((v).frame)
#define MidY(v)                 CGRectGetMidY((v).frame)

#define MaxX(v)                 CGRectGetMaxX((v).frame)
#define MaxY(v)                 CGRectGetMaxY((v).frame)


#define RECT_CHANGE_x(v,x)          CGRectMake(x, Y(v), WIDTH(v), HEIGHT(v))
#define RECT_CHANGE_y(v,y)          CGRectMake(X(v), y, WIDTH(v), HEIGHT(v))
#define RECT_CHANGE_point(v,x,y)    CGRectMake(x, y, WIDTH(v), HEIGHT(v))
#define RECT_CHANGE_width(v,w)      CGRectMake(X(v), Y(v), w, HEIGHT(v))
#define RECT_CHANGE_height(v,h)     CGRectMake(X(v), Y(v), WIDTH(v), h)
#define RECT_CHANGE_size(v,w,h)     CGRectMake(X(v), Y(v), w, h)

// 系统控件默认高度
#define kStatusBarHeight        (20.f)

#define kTopBarHeight           (44.f)
#define kBottomBarHeight        (49.f)

#define kCellDefaultHeight      (44.f)

#define kEnglishKeyboardHeight  (216.f)
#define kChineseKeyboardHeight  (252.f)


/* ****************************************************************************************************************** */
#pragma mark - Funtion Method (宏 方法)

// PNG JPG 图片路径
#define PNGPATH(NAME)           [[NSBundle mainBundle] pathForResource:[NSString stringWithUTF8String:NAME] ofType:@"png"]
#define JPGPATH(NAME)           [[NSBundle mainBundle] pathForResource:[NSString stringWithUTF8String:NAME] ofType:@"jpg"]
#define PATH(NAME, EXT)         [[NSBundle mainBundle] pathForResource:(NAME) ofType:(EXT)]

// 加载图片
#define PNGIMAGE(NAME)          [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:(NAME) ofType:@"png"]]
#define JPGIMAGE(NAME)          [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:(NAME) ofType:@"jpg"]]
#define IMAGE(NAME, EXT)        [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:(NAME) ofType:(EXT)]]


//number转String
#define IntTranslateStr(int_str) [NSString stringWithFormat:@"%d",int_str];
#define FloatTranslateStr(float_str) [NSString stringWithFormat:@"%.2d",float_str];

// View 圆角和加边框
#define ViewBorderRadius(View, Radius, Width, Color)\
                                \
                                [View.layer setCornerRadius:(Radius)];\
                                [View.layer setMasksToBounds:YES];\
                                [View.layer setBorderWidth:(Width)];\
                                [View.layer setBorderColor:[Color CGColor]]

// View 圆角
#define ViewRadius(View, Radius)\
                                \
                                [View.layer setCornerRadius:(Radius)];\
                                [View.layer setMasksToBounds:YES]

// 当前版本
#define FSystemVersion          ([[[UIDevice currentDevice] systemVersion] floatValue])
#define DSystemVersion          ([[[UIDevice currentDevice] systemVersion] doubleValue])
#define SSystemVersion          ([[UIDevice currentDevice] systemVersion])

// 当前语言
#define CURRENTLANGUAGE         ([[NSLocale preferredLanguages] objectAtIndex:0])

// 是否Retina屏
#define isRetina                ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? \
                                CGSizeEqualToSize(CGSizeMake(640, 960), \
                                                  [[UIScreen mainScreen] currentMode].size) : \
                                NO)

// 是否iPhone5
#define isiPhone5               ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? \
                                CGSizeEqualToSize(CGSizeMake(640, 1136), \
                                                  [[UIScreen mainScreen] currentMode].size) : \
                                NO)
// 是否iPhone5
#define isiPhone4               ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? \
                                CGSizeEqualToSize(CGSizeMake(640, 960), \
                                [[UIScreen mainScreen] currentMode].size) : \
                                NO)

// 是否IOS7
#define isIOS7                  ([[[UIDevice currentDevice]systemVersion]floatValue] >= 7.0)
// 是否IOS6
#define isIOS6                  ([[[UIDevice currentDevice]systemVersion]floatValue] < 7.0)

// 是否iPad
#define isKPad                   (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

// UIView - viewWithTag
#define VIEWWITHTAG(_OBJECT, _TAG)\
                                \
                                [_OBJECT viewWithTag : _TAG]

// 本地化字符串
/** NSLocalizedString宏做的其实就是在当前bundle中查找资源文件名“Localizable.strings”(参数:键＋注释) */
#define LocalString(x, ...)     NSLocalizedString(x, nil)
/** NSLocalizedStringFromTable宏做的其实就是在当前bundle中查找资源文件名“xxx.strings”(参数:键＋文件名＋注释) */
#define AppLocalString(x, ...)  NSLocalizedStringFromTable(x, @"someName", nil)

// RGB颜色转换（16进制->10进制）
#define UIColorFromRGB(rgbValue)\
                                \
                                [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
                                                green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
                                                 blue:((float)(rgbValue & 0xFF))/255.0 \
                                                alpha:1.0]

#if TARGET_OS_IPHONE
/** iPhone Device */
#endif

#if TARGET_IPHONE_SIMULATOR
/** iPhone Simulator */
#endif

// ARC
#if __has_feature(objc_arc)
/** Compiling with ARC */
#else
/** Compiling without ARC */
#endif


/* ****************************************************************************************************************** */
#pragma mark - Log Method (宏 LOG)

// 日志 / 断点
// =============================================================================================================================
// DEBUG模式
#define ITTDEBUG

// LOG等级
#define ITTLOGLEVEL_INFO        10
#define ITTLOGLEVEL_WARNING     3
#define ITTLOGLEVEL_ERROR       1

// =============================================================================================================================
// LOG最高等级
#ifndef ITTMAXLOGLEVEL

#ifdef DEBUG
#define ITTMAXLOGLEVEL ITTLOGLEVEL_INFO
#else
#define ITTMAXLOGLEVEL ITTLOGLEVEL_ERROR
#endif

#endif

// =============================================================================================================================
// LOG PRINT
// The general purpose logger. This ignores logging levels.
#ifdef ITTDEBUG
#define ITTDPRINT(xx, ...)      NSLog(@"< %s:(%d) > : " xx , __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define ITTDPRINT(xx, ...)      ((void)0)
#endif

// Prints the current method's name.
#define ITTDPRINTMETHODNAME()   ITTDPRINT(@"%s", __PRETTY_FUNCTION__)

// Log-level based logging macros.
#if ITTLOGLEVEL_ERROR <= ITTMAXLOGLEVEL
#define ITTDERROR(xx, ...)      ITTDPRINT(xx, ##__VA_ARGS__)
#else
#define ITTDERROR(xx, ...)      ((void)0)
#endif

#if ITTLOGLEVEL_WARNING <= ITTMAXLOGLEVEL
#define ITTDWARNING(xx, ...)    ITTDPRINT(xx, ##__VA_ARGS__)
#else
#define ITTDWARNING(xx, ...)    ((void)0)
#endif

#if ITTLOGLEVEL_INFO <= ITTMAXLOGLEVEL
#define ITTDINFO(xx, ...)       ITTDPRINT(xx, ##__VA_ARGS__)
#else
#define ITTDINFO(xx, ...)       ((void)0)
#endif

// 条件LOG
#ifdef ITTDEBUG
#define ITTDCONDITIONLOG(condition, xx, ...)\
                                \
                                {\
                                    if ((condition))\
                                    {\
                                        ITTDPRINT(xx, ##__VA_ARGS__);\
                                    }\
                                }
#else
#define ITTDCONDITIONLOG(condition, xx, ...)\
                                \
                                ((void)0)
#endif

// 断点Assert
#define ITTAssert(condition, ...)\
                                \
                                do {\
                                    if (!(condition))\
                                    {\
                                        [[NSAssertionHandler currentHandler]\
                                        handleFailureInFunction:[NSString stringWithFormat:@"< %s >", __PRETTY_FUNCTION__]\
                                                           file:[[NSString stringWithUTF8String:__FILE__] lastPathComponent]\
                                                     lineNumber:__LINE__\
                                                    description:__VA_ARGS__];\
                                    }\
                                } while(0)


/* ****************************************************************************************************************** */
#pragma mark - Constants (宏 常量)


/** 时间间隔 */
#define kHUDDuration            (1.f)

/** 一天的秒数 */
#define SecondsOfDay            (24.f * 60.f * 60.f)
/** 秒数 */
#define Seconds(Days)           (24.f * 60.f * 60.f * (Days))

/** 一天的毫秒数 */
#define MillisecondsOfDay       (24.f * 60.f * 60.f * 1000.f)
/** 毫秒数 */
#define Milliseconds(Days)      (24.f * 60.f * 60.f * 1000.f * (Days))


//** textAlignment ***********************************************************************************

#if !defined __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_5_0
# define LINE_BREAK_WORD_WRAP UILineBreakModeWordWrap
# define TextAlignmentLeft UITextAlignmentLeft
# define TextAlignmentCenter UITextAlignmentCenter
# define TextAlignmentRight UITextAlignmentRight

#else
# define LINE_BREAK_WORD_WRAP NSLineBreakByWordWrapping
# define TextAlignmentLeft NSTextAlignmentLeft
# define TextAlignmentCenter NSTextAlignmentCenter
# define TextAlignmentRight NSTextAlignmentRight

#endif



#endif
